The VIP-C environment now uses a completely modular architecture. All the function libraries, resource editors, and FIXes (Forms Tools), have been removed from the application itself and added as individual FAT (68K code resource/PPC shared library) files in the "VIP Externals" folder, located in the active "Extensions" folder of the System. Using separate files makes it much easier to add, update or remove functionality in the VIP-C environment without changing the application itself, thus reducing the risk of undesirable side effects.
Because of this new architecture, the VIP-C Extender has been integrated into the VIP-C application. During initialization time, VIP-C scans the "VIP Externals" folder in the Extensions folder for VIP library files (including FIXes with public functions), resource editors and FIX tools. For each of these files (except resource editors) it checks if the library's interface has already been integrated into VIP-C and if its version number matches. If this is not the case for one of the libraries, a dialog appears asking for a C header file containing the missing or updated library definitions. If a library file is removed from the "VIP Externals" folder, then the definitions will be removed from VIP-C the next time it is launched. Any dependent library definitions will also be removed in the process. A special menu command in the "File" menu ("Clear All Extern Defs") permits clearing all the external definitions for a complete rebuild (use with care!).
At launch, VIP-C 2.0 also scans the "VIP Externals" folder for VIP Resource Editors and makes them automatically available to the user.
The PackMover tool cannot be used anymore with VIP-C 2.0. Adding, updating or removing is now just a matter of dragging a file in or out of the "VIP Externals" folder.
2. Improved User Interface
The user interface has been improved in order to provide a more practical and elegant interface. The project window now facilitates organizing routines within groups for better project management. Each group acts as a folder, which can be opened/closed, renamed, and moved anywhere in the project window list. A routine, or selection of routines can be dragged from one group to another simply by dragging within the project window. If a folder is closed, any routine it contains can be accessed directly from its pop up menu without having to open the group. The project window now displays the number of lines and size for each routine, its total by group and also the total for the entire project. When exporting the project as ".c" file, a separate ".c" file with the name of a group will be created for each group within the project. Importing a ".c" file into a current project will automatically create a new group, with the same name as file name, within the project window. Source code editor windows also now support display of comments in color.
3. Forms Technology
The Forms technology is a totally new approach to writing applications for the Macintosh. It allows you to create sophisticated Forms with powerful objects that can be fully edited and programmed within the VIP-C application. Also, it facilitates creating powerful databases from the Forms Editor using the new VIP Database Manager 2.0 (sold separately). The Forms Package consists of the Forms Editor, the Forms Library and 18 Form Item Externals (FIX) (item types) for common interface elements like buttons, check boxes, grids, etc. Each item type in the Form has its own properties and event handlers, which can be fully edited using a sophisticated Forms Editor or changed at runtime using the Forms Library. A FIX can also provide additional functions beyond the required common functionality, same as a VIP-C function Library. All FIXes are FAT (68K code resource/PPC shared library) files located in the "VIP Externals" folder. Because the Forms Manager has been designed to be a completely modular technology, new FIXes of any kind can be added, updated or removed without modifying the Forms Editor or Forms Library. The appearance and behavior of each item type is completely defined by the code contained in the corresponding FIX. This unique implementation works in all environments: VIP-C, VIP-BASIC, Metrowerks.
The Forms Editor can be accessed from the VIP-C environment as a resource editor of type 'FORM'. A form is basically an ordered list of items, each with its own type. The structure of a form as well as of an item is private and is saved as a 'FORM' resource in the project's resource file. There are 18 predefined item types (FIXes): lines, rectangles, rounded-corner rectangles, ovals, static text items, icons, pictures, buttons, check boxes, radio buttons, frame items, pop-up menus, editable text items, sound items, QuickTime movies, lists, grids and custom items. Frame items are most often used to group check boxes or radio buttons into logical entities.
Each item type has an associated list of handlers. Item handlers are call-back functions (predefined or user-written) to handle events or set/get data into/from the items in a specific way. There are up to seven handlers per item depending upon the item kind: Idle, Activate, Update, Key, Click, Fetch and Store. The Forms Editor allows the programmer to create and link source code to each of these item handlers. For example, special code could be provided to handle a click event for a specific button, or for an Idle event on a custom item to display the current time. The Forms Editor keeps track of the links between the form items and the associated source code written by the programmer. Functions can be added, edited, directly from the Forms Editor at any time.
A command "Build FIX Installer…" has been added to the File menu. It builds a FAT installer for applications using the Forms technology. The Installer contains the end user application, as well as all necessary FIX files it requires to run, in a compressed form. This allows easy distribution of any application using the Forms technology as a single compressed file.
4. Updated Mac Toolbox and VIP-C Functions Support
VIP-C 2.0 integrates the Apple's Universal Headers Files 2.1 APIs (Application Programming Interfaces) for a complete updated Mac Toolbox support. These include all System 7.5 APIs. The programmer can also add or update Mac Toolbox APIs in the VIP-C environment himself, if needed. Libraries are provided for the following extensions: InterfaceLib, ANSI_CLib, MathLib, VIPLib, ColorSyncStubs, AppleScriptLib, ObjectSupportLib, QuickTimeLib, DragLib, SpeechLib, Graf3DLib, ThreadsLib, XTNDInterface, AOCELib, FormsLib, Grid (FIX) amd List (FIX).
5. External Compiler Support
Compiler support is now limited to the Metrowerks CodeWarrior compiler (version 7 or later). Native 68K and PPC applications, code resources on 68K Macs and Shared Libraries on PowerMacs can be built. THINK C and MPW environments are no longer supported. The VIP-C 2.0 Demo version does not permit any links to Metrowerks CodeWarrior.
6. Hardware and System and Requirements
VIP-C 2.0 is a System 7 only application. It requires a minimum of 2.5 MB of RAM available at launch, but will run better if 3.5 MB of RAM is allocated. VIP-C 2.0 will work with any 68K (Macintosh Plus or later) and Power Macintosh computers.
A CD-ROM drive is required to install VIP-C 2.0. Documentation is provided on the CD-ROM as well. A number of additional files, examples, notes, etc. have been added.
7. On-Line Documentation
The entire documentation for VIP-C has been revised for the new version 2.0. Several chapters have also been added covering the new features and capabilities. All documentation is provided electronically (using Adobe Acrobat Reader format) on the VIP-C CD-ROM, as well as eDOC format. The Adobe Acrobat Reader and eDOC Reader applications are also provided on the CD-ROM. This approach provides advantages in locating desired reference material.